@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --font-geist-sans: "geist-sans", -apple-system, BlinkMacSystemFont,
      "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol";
    --font-jetbrains-mono: "jetbrains-mono", SFMono-Regular, Menlo, Monaco,
      Consolas, "Liberation Mono", "Courier New", monospace;

    --background: 0 0% 100%;
    --foreground: 240 10% 3.9%;
    --card: 0 0% 100%;
    --card-foreground: 240 10% 3.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 240 10% 3.9%;
    --primary: 240 5.9% 10%;
    --primary-foreground: 0 0% 98%;
    --secondary: 240 4.8% 95.9%;
    --secondary-foreground: 240 5.9% 10%;
    --muted: 240 4.8% 95.9%;
    --muted-foreground: 240 3.8% 46.1%;
    --accent: 240 4.8% 95.9%;
    --accent-foreground: 240 5.9% 10%;
    --destructive: 0 72.22% 50.59%;
    --destructive-foreground: 0 0% 98%;
    --border: 240 5.9% 90%;
    --input: 240 5.9% 90%;
    --ring: 240 5% 64.9%;
    --radius: 0.5rem;
  }
  :root[class~="dark"],
  .dark {
    --background: 240 10% 3.9%;
    --foreground: 0 0% 98%;
    --card: 240 10% 3.9%;
    --card-foreground: 0 0% 98%;
    --popover: 240 10% 3.9%;
    --popover-foreground: 0 0% 98%;
    --primary: 0 0% 98%;
    --primary-foreground: 240 5.9% 10%;
    --secondary: 240 3.7% 15.9%;
    --secondary-foreground: 0 0% 98%;
    --muted: 240 3.7% 15.9%;
    --muted-foreground: 240 5% 64.9%;
    --accent: 240 3.7% 15.9%;
    --accent-foreground: 0 0% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 0 85.7% 97.3%;
    --border: 240 3.7% 15.9%;
    --input: 240 3.7% 15.9%;
    --ring: 240 4.9% 83.9%;
  }
}

@layer base {
  @font-face {
    font-family: "geist-sans";
    font-weight: 300 900;
    font-display: swap;
    font-style: normal;
    src: url("/fonts/GeistVariableVF.woff2") format("woff2");
  }
  @font-face {
    font-family: "jetbrains-mono";
    font-weight: 300 800;
    font-style: normal;
    font-display: swap;
    font-stretch: normal;
    src: url("/fonts/JetBrainsMono[wght].woff2") format("woff2");
  }

  @font-face {
    font-family: "jetbrains-mono";
    font-weight: 300 800;
    font-style: italic;
    font-display: swap;
    font-stretch: normal;
    src: url("/fonts/JetBrainsMono-Italic[wght].woff2") format("woff2");
  }
  * {
    @apply border-border;
  }

  body {
    @apply bg-background text-foreground;
    font-synthesis-weight: none;
    text-rendering: optimizeLegibility;
    font-family: var(--font-geist-sans);
    /* anti-aliasing */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  /* Ensure Shiki text wrapping works. */
  pre.shiki {
    white-space: pre-wrap;
    word-wrap: break-word;
    font-family: var(--font-jetbrains-mono);
    padding: 2ch;
  }
}

@media (max-width: 640px) {
  .container {
    @apply px-4;
  }
}
